package com.mezz.bones.im.sdk.domain.request;

import com.alibaba.fastjson.JSONObject;
import com.mezz.bones.im.sdk.domain.base.BaseRequest;
import com.mezz.bones.im.sdk.domain.base.UrlConstants;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @Author: zhuang
 * @Date: 2025/5/14 11:06
 * @Description: TODO
 * @Version: 1.0
 **/

@Data
public class PrivateMessageCreateRequest extends BaseRequest implements Serializable {

    @ApiModelProperty("消息所属用户-发送者ID")
    private String userId;

    @ApiModelProperty("消息对端用户-接收者ID")
    private String peerId;

    @ApiModelProperty("客服相关ID 被服务方→客服方 记录的是客服ID   客服放→被服务方 记录的是供应商ID或者平台ID")
    private String relationId;

    @ApiModelProperty(value = "消息类型(0普通用户消息 1系统消息)")
    private Integer msgType;

    @ApiModelProperty("是否同步消息到对端 0否1是")
    private Integer sync2Peer;

    @ApiModelProperty("是否需要推送消息到己方 0否1是")
    private Integer push2User;

    @ApiModelProperty("消息内容类型错误，必须是 text、audio、video、custom 或 image")
    private String contentType;

    @ApiModelProperty("消息内容")
    private JSONObject content;

    @ApiModelProperty("消息扩展信息")
    private JSONObject msgExtra;

    @Override
    public String getUrl() {
        return UrlConstants.IM_PRIVATE_MESSAGE_CREATE;
    }
}
